﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

using Global.Class.Library;

namespace DataTransferObject
{
    public class MarketingProgramItemCategory : NotifyPropertyChangeObject
    {
        private int itemCategoryID;
        private double sharingSalesTarget;
        private string remarks;


        public MarketingProgramItemCategory()
            : this(-1, 0, "")
        {
        }

        public MarketingProgramItemCategory(int itemCategoryID, double sharingSalesTarget, string remarks)
        {
            GlobalDefaultValue.Apply(this);

            this.ItemCategoryID = itemCategoryID;
            this.SharingSalesTarget = sharingSalesTarget;
            this.Remarks = remarks;
        }

        #region Properties


        [DefaultValue(-1)]
        public int ItemCategoryID
        {
            get { return this.itemCategoryID; }
            set { ApplyPropertyChange<MarketingProgramItemCategory, int>(ref this.itemCategoryID, o => o.ItemCategoryID, value); }
        }

        [DefaultValue(0)]
        public double SharingSalesTarget
        {
            get { return this.sharingSalesTarget; }
            set { ApplyPropertyChange<MarketingProgramItemCategory, double>(ref this.sharingSalesTarget, o => o.SharingSalesTarget, value); }
        }

        [DefaultValue("")]
        public string Remarks
        {
            get { return this.remarks; }
            set { ApplyPropertyChange<MarketingProgramItemCategory, string>(ref this.remarks, o => o.Remarks, value); }
        }

        #endregion
    }
}
